/**
 * 
 */
$(function(){
    $(document).keyup(function (e) {
        if(e.which==13){
            $('#selectBtnEnter').click();
        }
    })
});
var path = '../';
var pageListUrl = path + 'logInfo/list';
var pageUrl = path + 'logInfo/';

//添加弹窗
var addPanel = null;
// ---------------交互代码begin-----------------
//本页面业务逻辑
var logInfo={
	checkLogic:function(dataObj){
		var result="";
		var isSubmit=true;
		//TODO 逻辑校验，去掉不必要的:
		result=customUtils.checkLen(dataObj.equipmentCode,1,32,'设备编号');
		if(result.length!=0){
			dataObj.equipmentCodeErr=result;
			isSubmit=false;
		}
		//TODO 日期时间的长度需要手工修改到19，仅日期的10
		result=customUtils.checkLen(dataObj.logDate,1,29,'日期');
		if(result.length!=0){
			dataObj.logDateErr=result;
			isSubmit=false;
		}
		result=customUtils.checkLen(dataObj.logPath,1,64,'下载日志');
		if(result.length!=0){
			dataObj.logPathErr=result;
			isSubmit=false;
		}
	    //检查表单是否存在错误
		$.each(dataObj, function(key) {
			if(key.indexOf('Err')!=-1 && dataObj[key].length>0){
				return false;
			}									 
		});
		return isSubmit;
	}
};

//绑定列表List---begin----所有的操作都围绕列表展开，新增、更新其他比较独立 
var dataList=new Vue({
	el:"#logInfoList",
	data:{
		pageInfo : {},
		//TODO 自定义条件查询---begin--------			
		condition:{
			page:1,
			rows:50,
		    id:"",
			items:[],
			all:false,

		    equipmentCode:"",
            logType:"",

		    logDate:"",
		    logPath:"",
		    createdBy:"",
		    createdDate:"",
		    updatedBy:"",
		    updatedDate:"",
		    status:""
		},
		//自定义条件查询---end--------
		selectIds:[],//多选
		showSuccess:false,//false不显示成功提示
		selectedIdx:-1,//保存操作行的索引
		isSearch:false,//init:页面初始化；search:点击查询；paging:点击翻页；changePageSize:改变页面显示条数
		selectedPageSize:customUtils.pageSize//修改页面数据显示条数
	},
	mounted: function () {
		//初始化页面数据
		// this.getList('init');
	},
	// 在 `methods` 对象中定义方法,如果操作中函数的逻辑比较复杂，必须封装到dictType对象
	methods:{
	    selectChkBtn:function(e){//用于多选事件
            this.selectIds.push($(e.target).val());
        },
		isNull:function(value){
	    	if(value == "" || value == null || value == undefined){
	    		return true;
			}
			return false;
		},
        deleteLog:function(){
	    	var self = this;
            console.log(dataList.condition.items);
            var param = {};
            param["items"] = JSON.stringify(dataList.condition.items) ;
            customUtils.post(self,pageUrl + "deleteLogs",param,function(response,isSuccess){
            	console.log(response)
            	if(response.body = "true"){
                    customUtils.tips("删除成功",1,2000);

				}else{
                    customUtils.tips("删除失败",2,2000);
				}
                dataList.getList('init');
			},function(){
			});


		},

		//全选--取消全选方法
		checkAll:function () {
            console.log(this.condition);
	    	if(this.condition.all){
                this.condition.all = false;
	    		$(".logs").find("input[type='checkbox'][name='id']").each(function(i,val){
                    dataList.condition.items = [];
				});
			}else{
                this.condition.all = true;
                $(".logs").find("input[type='checkbox'][name='id']").each(function(i,val){
                    dataList.condition.items[i] = val.value;
                });
			}
        },
		//搜索、分页列表
		getList:function(eventSrc){
            var self=this;
            console.log(eventSrc)
			console.log(self.condition)
	    	if(eventSrc == "search" && this.isNull(self.condition.logType) && this.isNull(self.condition.equipmentCode)){
                customUtils.tips("请输入设备编号或者选择日志类型",2,2000);
                return;
			}
			//改变页面显示条数
			if(eventSrc=="changePageSize"){
				if(this.pageInfo.pageSize != this.selectedPageSize){
					this.pageInfo.pageSize=this.selectedPageSize;
					$('#pagination').jqPaginator('destroy');
					eventSrc='init';//重新绘制控件
				}else{
					return;
				}
			}				
			//初始化时无当前页数，后台有默认第1页，每页10条
			if(this.pageInfo!=undefined && this.pageInfo.pageNum!=undefined){
				self.condition["page"]=this.pageInfo.pageNum;
				self.condition["rows"]=this.pageInfo.pageSize;
			}
			console.log(self.condition);
			//发送请求,第一个参数http对象，第二个是url，第三个是参数，第四个是成功回调，第五个是请求失败回调
			customUtils.post(self,pageListUrl,self.condition,function(response,isSuccess){ 
				if(isSuccess==false){
				    dataList.pageInfo.pages=0;
				    customUtils.noData('无数据',0);
				    return;
				}
				dataList.pageInfo = response.body.pagination;
				customUtils.noData('无数据',dataList.pageInfo.pages);
				//页面初始化、搜索时，才需要执行分页控件
				if(eventSrc=='init' || eventSrc=='search'){
					customUtils.paging('#pagination',dataList.pageInfo.pages,customUtils.showPage,function(num){
						//当前页码pageNum与将要翻页的页码num不相等才执行，否则为同一页
						if(dataList.pageInfo.pageNum!=num){			    	
					    	dataList.pageInfo.pageNum=num;
							dataList.getList('paging');	
						}							    	
				    });
				}
            },function(response){
                console.log(response);
                dataList.pageInfo.pages=0;
			    customUtils.noData('无数据',0);
            });						
		},	
		//更新状态
		updateStatus:function(index){
			var record = this.pageInfo.list[index];
			var status = record.status==1?0:1;
			var param = {id:record.id,status:status};
			var self=this;
			customUtils.post(self,pageUrl + 'update',param,function(response,isSuccess){ 
				record.status=status;
				//根据需要刷新页面数据
				dataList.getList('init');
            },function(response){
                //console.log(response.body);
            });			
		},
		//初始化更新，更新对话框
		updateInit:function(index){
			//先显示窗口，才有加载效果
			this.addOrUpdatePanel("update");
			var record = this.pageInfo.list[index];
			this.selectedIdx=index;
			var url = pageUrl + 'id/'+record.id;
			var self=this;
			customUtils.get(self.$http,url,function(response,isSuccess){ 
				if(isSuccess==false){
				    return;
				}
				//回显表单数据
				$.each(response.body, function(key) {
					if(addOrUpdate[key]!=undefined){
						addOrUpdate[key] = response.body[key];
					}									 
				});
            },function(response){
                console.log(response);
            });
		},
		//打开添加对话框
		addOrUpdatePanel:function(flag){
			if(flag=="add"){
			    //清除表单数据
				$.each(addOrUpdate.$data, function(key) {
					addOrUpdate[key]="";								 
				});
			}
			addPanel = layer.open({
				type : 1,
				title : "添加分类",
				area : [ '570px', 'auto' ],
				shadeClose : false, // 点击遮罩关闭
				content : $('#addPanel')
			});
		},
		download:function(logPath){
            this.$http.get(pageUrl + 'exists?path='+ logPath).then(function(response){
            	if(response.body == true){
            		window.location.href = pageUrl + "download?path=" + logPath;
				}else{
                    customUtils.tips('文件不存在',2,2000);
				}
            },function(response){
                console.log(response.body);
            });

		}

	}
});
//绑定列表List---end---- 

//新增或更新---------begin-------
var addOrUpdate = new Vue({
	el:"#addPanel",
	data:{
		equipmentCode:"",
		logDate:"",
		logPath:"",
		id:"",
		//以下是错误信息
		equipmentCodeErr:"",
		logDateErr:"",
		logPathErr:"",
	showSuccess:true,//显示成功提示
	},
	//当需要在数据变化时执行异步或开销较大的操作时，这个方式是最有用的
    watch:{
    },
	methods:{		
	    changeTime:function(elem){
			addOrUpdate[elem.split('-')[0]] = $("#"+elem).val();               
		},	
		save:function(){
			//逻辑校验
			if(!logInfo.checkLogic(this.$data)){
				return;
			}
			//没有id的时候表示新增，否则为更新
			var actionUrl=this.id=="" ? 'save' :'update';
			var self=this;
			customUtils.post(self,pageUrl + actionUrl,self.$data,function(response,isSuccess){ 
				if(actionUrl=='update'){
					var record = dataList.pageInfo.list[dataList.selectedIdx];
					//更新成功，刷新列表中对应的数据
					$.each(record, function(key) {
						if(addOrUpdate[key]!=undefined){
							record[key]=addOrUpdate[key];
						}									 
					});						
				}else if(isSuccess){
					dataList.getList('init');
				}
				if(isSuccess && addPanel)layer.close(addPanel);
			},function(res){
                //console.log(response.body);
            });			
		},
		//清除表单数据
		reset:function(){
			$.each(addOrUpdate.$data, function(key) {
				addOrUpdate[key]="";								 
			});
		}
	}
});
//新增或更新---------end-------
	
	
